#ifndef __ARP__H__
#define __ARP__H__

typedef struct ARP_INTERFACE_S
{
	unsigned short hardware_type;
	unsigned short protocol_type;
	unsigned char hardware_size;
	unsigned char protocol_size;
	unsigned short arp_type;
	unsigned char src_mac[6];
	unsigned int src_ip;
	unsigned char dst_mac[6];
	unsigned int dst_ip;
	unsigned int size;
	int (*alloc)(struct ARP_INTERFACE_S *, unsigned short, unsigned char *, unsigned char *);
	int (*tobuf)(struct ARP_INTERFACE_S *, unsigned char *, int);
} ARP_INTERFACE_T, *ARP_INTERFACE_P;

extern void arp_init(unsigned char *, unsigned char *);
extern void arp_get_interface(ARP_INTERFACE_P *);
#endif